﻿using DFGK_WMS.Model.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DFGK_WMS.IRepository
{
    public interface IPickingPositionRepository :IBaseRepository<PickingPositionModel>
    {
        /// <summary>
        /// 添加拣选位
        /// </summary>
        /// <param name="pickingPosition"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        bool AddPickingPositon(PickingPositionModel pickingPosition,out string msg);

        /// <summary>
        /// 更新拣选位
        /// </summary>
        /// <param name="pickingPosition"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        bool UpdPickingPosition(PickingPositionModel pickingPosition, out string msg);

        /// <summary>
        /// 删除拣选位
        /// </summary>
        /// <param name="pickingPositionId"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        bool DelPickingPosition(string pickingPositionCode, out string msg);

        /// <summary>
        /// 根据ID获取指定拣选位
        /// </summary>
        /// <param name="pickingPositionId"></param>
        /// <returns></returns>
        PickingPositionModel GetPickingPositionById(string pickingPositionCode);

        /// <summary>
        /// 获取所有拣选位
        /// </summary>
        /// <returns></returns>
        List<PickingPositionModel> GetAllPickingPositions();

        /// <summary>
        /// PDA拣选登录
        /// </summary>
        /// <returns></returns>
        List<BindPickingPositionModel> GetBindPickingPosition();

        /// <summary>
        /// 退出登录
        /// </summary>
        /// <param name="stationcode"></param>
        /// <returns></returns>
        bool LoginOut(string stationcode);

        bool ResetPicking(string stationcode);
    }
}
